package com.palmcity.rtti.base;

import java.io.Serializable;

/**
 * <p>
 * DTILink
 * </p>
 * <p>
 * dti路链对象
 * </p>
 *
 * @author 周华彬(zhouhuabin@ctfo.com, zhou_hua_bin@163.com)
 * @version 0.0.0
 *          <table style="border:1px solid gray;">
 *          <tr>
 *          <th width="100px">版本号</th>
 *          <th width="100px">动作</th>
 *          <th width="100px">修改人</th>
 *          <th width="100px">修改时间</th>
 *          </tr>
 *          <!-- 以 Table 方式书写修改历史 -->
 *          <tr>
 *          <td>0.0.0</td>
 *          <td>创建类</td>
 *          <td>zhouhuabin</td>
 *          <td>2014年12月30日 下午3:53:22</td>
 *          </tr>
 *          <tr>
 *          <td>XXX</td>
 *          <td>XXX</td>
 *          <td>XXX</td>
 *          <td>XXX</td>
 *          </tr>
 *          </table>
 */
public class DTILink implements Serializable {

	/** TODO */
	private static final long serialVersionUID = 547692978964648499L;
	/**
	 * 二次网格号 用六位十进制数值表示：如595640.其中59:一级图幅行编号 56: 一级图幅列编号 4:二级图幅行编号 0:二级图幅列编号
	 */
	private int meshId;
	
	/** DTI编码 用四位十进制数值表示，同一个网格内linkId唯一 */
	private short linkId;
	
	/** DTI路链等级 0:高速公路 1:快速路 2:主干路 3:次干路 4:支路 5:其他 */
	private short roadClass;
	
	/** DTI位置表中的实际路链长度,单位m */
	private float realLength = 0;

	/**
	 * 构造器
	 */
	public DTILink() {
	}

	/**
	 * 获取变量<code>realLength</code>的值
	 * 
	 * @return 返回的数据类型是<code>float</code>
	 */
	public float getRealLength() {
		return realLength;
	}

	/**
	 * 设置变量<code> realLength</code> 的值
	 * 
	 * @param realLength
	 *            <code>realLength</code> 参数类型是<code>float</code>
	 */
	public void setRealLength(float realLength) {
		this.realLength = realLength;
	}



	/**
	 * 字段 meshId 获取函数
	 * @return the meshId : int
	 */
	public int getMeshId() {
		return meshId;
	}

	/**
	 * 字段 meshId 设置函数 : int
	 * @param meshId the meshId to set
	 */
	public void setMeshId(int meshId) {
		this.meshId = meshId;
	}

	/**
	 * 字段 linkId 获取函数
	 * @return the linkId : short
	 */
	public short getLinkId() {
		return linkId;
	}

	/**
	 * 字段 linkId 设置函数 : short
	 * @param linkId the linkId to set
	 */
	public void setLinkId(short linkId) {
		this.linkId = linkId;
	}

	/**
	 * 字段 roadClass 获取函数
	 * @return the roadClass : short
	 */
	public short getRoadClass() {
		return roadClass;
	}

	/**
	 * 字段 roadClass 设置函数 : short
	 * @param roadClass the roadClass to set
	 */
	public void setRoadClass(short roadClass) {
		this.roadClass = roadClass;
	}

	/**
	 * 获取dtiCode
	 * 
	 * @return
	 */
	public String getDtiCode() {
		return meshId + "" + roadClass + Integer.toString(10000 + linkId).substring(1);
	}

}